SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TCFINA_BANC_I01]
/*-------------------------------------------------------*/  
/*---Empresa              : OFISIS S.A.                --*/  
/*---Cliente              : OFISIS                 --*/  
/*---Sistema              : Tesoreria                  --*/  
/*---M÷dulo               : Empresa                    --*/  
/*---Programa             : Grabaci÷n Cabecera         --*/  
/*---                       Movimiento FINAos (Egresos)--*/  
/*---Script               : tcmovi_b.sql               --*/  
/*---Nombre SP            : SP_TCFINA_BANC_I01         --*/  
/*---Desarrollado por     : Javier Flores A.           --*/  
/*---Fecha Creaci÷n       : 11/06/1999                 --*/  
/*---Base Datos           : Microsoft Sql Server       --*/  
/*---Versi÷n              : 7.0                        --*/  
/*---Invoca a SP          :                            --*/  
/*-------------------------------------------------------*/  
/*-------------------------------------------------------*/  
/*---Modificado 1 por     :  Manejo de Tasa y Libor    --*/  
/*---Fecha Modificaci÷n   :                            --*/   
/*---Detalle Modificaci÷n :                            --*/  
/*-------------------------------------------------------*/  
/*-------------------------------------------------------*/  
/*---Comentarios                                       --*/  
/*---                                                  --*/  
/*---                                                  --*/  
/*-------------------------------------------------------*/  
/*-------------------------------------------------------*/  
/*---Drop Proc SP_TCFINA_BANC_I01                      --*/  
/*---Grant Execute on SP_TCFINA_BANC_I01 to public     --*/   
/*---SP_TCFINA_BANC_AUXI_I01                           --*/  
/*-------------------------------------------------------*/  
 @ISCO_EMPR			TD_VC_002,
 @ISCO_USUA_MODI	TD_VC_008_USUA,
 @ISCO_BANC			TD_VC_003,
 @ISCO_TIPO_FINA	TD_VC_020,
 @ISNU_COMP_FINA	TD_VC_008,

 @INNU_DIAS_FINA	TD_IN_001,
 @ISST_LIBO			TD_VC_001,
 @INPO_INTE			TD_NU_009_004,
 @INPO_FINA			TD_NU_009_004,
 @INPO_EXCE			TD_NU_009_004,

 @IDFE_OPER			TD_DT_001,   
 @INFA_TIPO_CAMB	TD_NU_015_006,
 @INFA_CAMB_EXTR	TD_NU_015_006,
 @INIM_FINA			TD_NU_016_004,
 @ISTI_DOCU_BANC	TD_VC_003,
 @ISNU_DOCU_BANC	TD_VC_020,
 @IDFE_VALI			TD_DT_001  
  
 as  
   Declare  
   @VNCO_NUEV_NUME TD_IN_001,   
   @VSCO_NUEV_CHAR TD_VC_008,  
   @VNNU_REGI      TD_IN_001,  
   @VNUL_CORR_EGRE TD_IN_001,  
   @VNUL_CORR_AJUS TD_IN_001,   
   @VSST_INTE_BACH TD_VC_001,  
   @VSTI_OPNI_CARG TD_VC_003,  
   @VSTI_OPNI_ABON TD_VC_003,  
   @VSTI_DOCU_CHEQ TD_VC_003,  
   @VNPO_FINA_TOTA	TD_NU_009_004,

	@VSCO_MONE_CRED	TD_VC_003
  
  
 BEGIN TRAN SP_TCFINA_BANC_I01
  
	/** inserta en la cabecera de Financiamientos **/  
	
	Select @VNCO_NUEV_NUME = Convert(Int , @ISNU_COMP_FINA)  
	Select @VNUL_CORR_AJUS = 0    
	
	Select @VSCO_NUEV_CHAR  = ISNULL(MAX(NU_COMP_FINA), '0')  
	From TCFINA_BANC  
	Where CO_EMPR = @ISCO_EMPR   
	And   CO_BANC = @ISCO_BANC  
	And   CO_TIPO_FINA = @ISCO_TIPO_FINA   
	
	Select @VNCO_NUEV_NUME = Convert(Int , @VSCO_NUEV_CHAR) + 1  
	Select @VSCO_NUEV_CHAR = Convert(Char(8) , @VNCO_NUEV_NUME)  
	Select @VSCO_NUEV_CHAR = ISNULL(REPLICATE('0',8- DATALENGTH(LTRIM(RTRIM(@VSCO_NUEV_CHAR)))),'') 
+LTRIM(RTRIM(@VSCO_NUEV_CHAR))  
	
	Select @ISNU_COMP_FINA = @VSCO_NUEV_CHAR   
	
	---% Financiamiento Final 
	Select	@VNPO_FINA_TOTA = IsNull( ( IsNull(FA_LIB1,0) + (@INPO_INTE)), 0)
	From 	TMLIBO
	Where	FE_LIBO = @IDFE_OPER

	--- Jalamos el codigo de Moneda del la Conf Finan x Banco, si es Nulla  la de la Solic. Aprobada de Financiamiento
	Select	@VSCO_MONE_CRED = CO_MONE_CRED
	From 	TTTIFN_BANC
	Where	CO_EMPR = @ISCO_EMPR  And CO_BANC = @ISCO_EMPR And	CO_TIPO_FINA = @ISCO_TIPO_FINA


	Insert Into TCFINA_BANC(CO_EMPR, CO_BANC, CO_TIPO_FINA, NU_COMP_FINA, 
		CO_MONE, 
		NU_DIAS_FINA, ST_LIBO, PO_INTE, PO_FINA, PO_EXCE, PO_FINA_TOTA, 
		FE_OPER, FA_TIPO_CAMB, FA_CAMB_EXTR, IM_FINA, TI_DOCU_BANC, NU_DOCU_BANC, TI_SITU )  
	Values (@ISCO_EMPR, @ISCO_BANC, @ISCO_TIPO_FINA, @ISNU_COMP_FINA, 
		@VSCO_MONE_CRED,
		@INNU_DIAS_FINA, @ISST_LIBO, @INPO_INTE, @INPO_FINA, @INPO_EXCE, @VNPO_FINA_TOTA, 
		@IDFE_OPER, @INFA_TIPO_CAMB, @INFA_CAMB_EXTR, @INIM_FINA, @ISTI_DOCU_BANC, @isNU_DOCU_BANC, 'PAP')  

	If @@error <> 0  
	Begin  
		Rollback tran  SP_TCFINA_BANC_I01
		Return  
	End  
	
  
Commit Tran SP_TCFINA_BANC_I01
  
SELECT @ISNU_COMP_FINA  
RETURN  
/*------------------------ Fin ------------------------------*/


GO
